﻿using System;
using System.Windows;

namespace WickedFlame.Core.Shapes
{
    /// <summary>
    /// Implement this class if the VectorShape can be added to a <see cref="PoligonShape"/>
    /// </summary>
    public interface IPolygonShape
    {
        /// <summary>
        /// adds the shape to the given <see cref="Poligon"/>
        /// </summary>
        /// <param name="poligon">polygon to add shape</param>
        /// <returns>true if shape can be added</returns>
        void AddShapeToPoligon(PolygonShape polygon);

        /// <summary>
        /// gets the start for the shape to <see cref="PoligonShape"/>
        /// </summary>
        /// <returns></returns>
        Point StartPoint { get; }

        /// <summary>
        /// Creates a <see cref="PoligonShape"/> from the <see cref="VectorShape"/>
        /// </summary>
        /// <returns></returns>
        PolygonShape CreatePolygon();
    }
}
